Занимательный ЛС: парсер

Был неприятно удивлен ковырянием на дне парсера ЛС некоторыми особенностями обработки текста.

что же произошло?..

Добавление в парсер текста новых тегов

После добавления на свой сайт контента мне понадобилось выделить некоторые слова красным цветом, а некоторые параграфы заключить в div с желтым бэкграундом.

Все изменения в тексте сделал, нажал кнопку добавить и… все мои старания удалились. Div исчез, цвет тоже.

Может быть я сейчас не открою тайну, но я узнал, что все разрешенные теги задаются в файле /classes/modules/sys_text/Text.class.php. Вот что я в нем изменил под свои нужды. Конечно, некоторые юзеры смогут попортить верстку сайта, но пока оставил так.


// Разрешённые теги
$this->oJevix->cfgAllowTags(array('cut','a', 'img', 'i', 'b', 'u', 's', 'video', 'em',  'strong', 'nobr', 'li', 'ol', 'ul', 'sup', 'abbr', 'sub', 'acronym', 'h4', 'h5', 'h6', 'br', 'hr', 'pre', 'code', 'object', 'param', 'embed', 'blockquote','div','span','font')); //добавил div, span, font
$this->oJevix->cfgAllowTagParams('b', array('style', 'color')); //добавил style, color
$this->oJevix->cfgAllowTagParams('div', array('style', 'align')); //добавил для div
$this->oJevix->cfgAllowTagParams('span', array('color', 'style')); //добавил для span
// Параметры тегов являющиеся обязательными
$this->oJevix->cfgSetTagParamsRequired('font', 'color'); //добавил font

Проблема с парсером текста при публикации поста (путаница с тегами в публикации)

Друзья, помогите разобраться вот с каким вопросом.

Я имею верстку вида:


<div>
  <h1>Заголовок публикации</h1>
  <p>контент публикации</p>
  <ul>метки публикации</ul>
</div>

Тег P у меня — контейнер типа display: block. Это нужно для СЕО — видите ли поисковики лучше хавают контент, который в P загнан.

Так вот, проблемы возникают, когда в теле моей публикации встречаются либо теги blockquote (цитата), либо h4-h6 (подзаголовки). Происходит следующее. Сразу перед этими двумя тегами происходит авто-закрытие тега P, а весь оставшийся контент после, скажем, подзаголовка идет уже без оформления (я очень надеюсь что вы поняли мое объяснение).

Так вот, я все никак не могу понять — на каком этапе (где копать, в каком файле) происходит такое странное перераспределении тегов и, как следствие, деформация верстки.

Например, это вы можете наблюдать тут www.nepropadu.ru/blog/theory/152.html. «Обрыв» происходит сразу перед первым же подзаголовком.

Подскажите, как профикстить проблему и убедительно попросить парсер текста не делать так больше :)

Заранее благодарю.